The present disclosure relates to data processing by digital computer, and more particularly to decentralized event processing.
In general, events may be received as messages by a messaging system that may send and receive messages from another messaging system that is part of an application or business. Messages that are received at a messaging system may be processed by a dispatcher, such as a dispatcher 106 of a messaging system 104 in FIG. 1, where messages may be sent and received in send and receive message streams 108, 110 to and from other applications or businesses, as represented by the “world” 102. Messages received by a dispatcher may be distributed to various message queues of a process running in a message system based on one or more keys that indicate a process instance to which a message is related. For example, the dispatcher 106 may distribute messages to various message queues 114, 126, 128, 130 of the process 118 based on keys 112, 120, 122, 124. The keys 112, 120, 122, 124 may be used to indicate which of the process instances 116, 132, 134, 136 is to work on a message. In this model of a messaging system, the dispatching of messages may be considered centralized, as a single dispatcher may distribute messages to various process instances that work on the messages.